﻿Imports System.Management.Automation.Host

Friend Class PSExecuteHostRawUserInterface
    Inherits PSHostRawUserInterface

    Private myCursorPosition As New Coordinates(0, 0)

    Public Overrides Property BufferSize As Size
        Get
            Return New Size(250, 1000)
        End Get
        Set(value As Size)
        End Set
    End Property

    Public Overrides Property CursorPosition As Coordinates
        Get
            Return Me.myCursorPosition
        End Get
        Set(value As Coordinates)
            Me.myCursorPosition = value
        End Set
    End Property

    Public Overrides Property WindowSize As Size
        Get
            Return New Size(250, 100)
        End Get
        Set(value As Size)

        End Set
    End Property

    Public Overrides ReadOnly Property MaxPhysicalWindowSize As Size
        Get
            Return New Size(250, 100)
        End Get
    End Property

    Public Overrides ReadOnly Property MaxWindowSize As Size
        Get
            Return New Size(250, 100)
        End Get
    End Property

    Public Overrides Property CursorSize As Integer
        Get
            Return 25
        End Get
        Set(value As Integer)
            Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
        End Set
    End Property

#Region "Not Implemented"
    Public Overrides Property BackgroundColor As ConsoleColor
    Public Overrides Property ForegroundColor As ConsoleColor
    Public Overrides Property WindowPosition As Coordinates
        Get
            Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
        End Get
        Set(value As Coordinates)
            Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
        End Set
    End Property
    Public Overrides Property WindowTitle As String
    Public Overrides Sub FlushInputBuffer()

    End Sub
    Public Overrides Function GetBufferContents(rectangle As Rectangle) As BufferCell(,)
        Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
    End Function
    Public Overrides ReadOnly Property KeyAvailable As Boolean
        Get
            Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
        End Get
    End Property
    Public Overloads Overrides Function ReadKey(options As ReadKeyOptions) As KeyInfo
        Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
    End Function
    Public Overrides Sub ScrollBufferContents(source As Rectangle, destination As Coordinates, clip As Rectangle, fill As BufferCell)
        Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
    End Sub
    Public Overloads Overrides Sub SetBufferContents(origin As Coordinates, contents(,) As BufferCell)
        Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
    End Sub
    Public Overloads Overrides Sub SetBufferContents(rectangle As Rectangle, fill As BufferCell)
        Throw New NotImplementedException("Not Implemented by PSExecuteHostRawUserInterface.")
    End Sub
#End Region

End Class
